Digital subscriber line (DSL) technology provides high-speed data transfer between two modems across ordinary telephone lines, wherein digital data transfer rates from tens of Kbps to tens of Mbps are supported over standard (e.g., twisted pair) telephone lines, while still providing for plain old telephone service (POTS). Asynchronous Digital Subscriber Line (ADSL) and Very High Digital Subscriber Line (VDSL) have emerged as popular implementations of DSL systems, where ADSL is defined by American National Standard Institute (ANSI) standard T1.413 and International Telecommunication Union (ITU-T) standards G.992.3, G.992.5, and VDSL is defined by ANSI standard T1.424 and ITU-T standard G.993.1. ADSL, VDSL and other similar DSL systems (collectively referred to as “xDSL”) typically provide digital data transfer in a frequency range above the POTS band (e.g., about 300 Hz to 4 kHz), for example ADSL G.992.3 operates at frequencies from about 25 kHz to about 1.1 MHz.
Most DSL installations are operated as multicarrier systems using Discrete Multi Tone (DMT) modulation, in which data is transmitted by a plurality of subcarriers (tones), sometimes alternatively referred to as subchannels, sub-bands, carriers, or bins, with each individual subcarrier utilizing a predefined portion of the prescribed frequency range. In ADSL, for example, 256 subcarriers are used to transmit a DMT symbol, with each subcarrier having a bandwidth of 4.3125 kHz. The transmit digital data is encoded and modulated at the transmitter using Quadrature Amplitude Modulation (QAM) and Inverse Discrete Fourier Transform (IDFT) to create the modulated multicarrier signal for transmission along the DSL loop or channel, which is then demodulated at the receiving end and decoded to recover the transmitted data. The bits of data to be transmitted over each subcarrier are encoded as signal points in QAM signal constellations using an encoder or a bit mapping system. Signal constellations are then modulated onto the corresponding subcarrier. The total number of data bits transmitted over the channel is a sum of the bits transmitted by each subcarrier.
As in most types of communication systems, it is desirable to maximize the amount of data successfully transferred across the communication medium between DSL modems, sometimes referred to as the bit rate or data rate. The data rate, in turn, depends on the noise characteristics of a particular communication channel. In the case of DSL systems, a pair of modems is connected by a twisted pair of wires that form the communication medium. In this situation, noise may be generated by signals on neighboring wire pairs (e.g., crosstalk noise) in a distributed telephony system, as well as by outside sources of Radio Frequency Interference (RFI) or other noise. The noise on a particular communication channel may be generally modeled or characterized as continuous noise or impulse noise or both. Continuous noise is sometimes modeled as Additive Gaussian Noise (AGN) with randomly distributed values of noise over time, whereas impulse noise is generally short bursts of relatively high levels of channel noise. Various mechanisms or techniques are employed in DSL and other communication systems to combat continuous and impulse noise and/or to correct noise-related data transfer errors.
Continuous noise is typically addressed by transmitting more data bits over subcarriers with small amounts of continuous noise, and fewer data bits over subcarriers with higher continuous noise. The allocation of data bits to particular subcarriers is sometimes referred to as bit allocation or bit distribution, wherein the bit distribution parameters may be set to accommodate particular continuous noise conditions on the channel. However, simply maximizing continuous noise protection by reducing the number of bits transmitted by specific sub-carriers may lead to non-optimal system data rate, since maximizing continuous noise protection in this way reduces the number of data bits on the subcarriers. Accordingly, DSL systems are initially setup with continuous noise protection (e.g., bit distribution) settings or parameters that are selected according to subcarrier noise assessments based on estimation of the channel noise during system initialization. While such approaches using fixed continuous noise protection settings provide a good continuous noise protection and high data transfer rates, communication channel continuous noise conditions tend to change over time. In this regard, if the continuous noise decreases, the fixed modulation parameters will suffice to protect against data errors, but potential increased data rates are not attained. Conversely, if the continuous noise increases, the previously set protection parameters may no longer be sufficient to provide adequate protection against data transfer errors in the channel.
In order to address this situation, DSL systems provide adaptive tuning of the bit distribution parameter settings to accommodate changing of continuous noise, including bit swapping, rate adaptation, and bandwidth repartitioning techniques, each of which involve changes to a number of modulation parameters. In a typical situation, the signal-to-noise ratio (SNR) for each subcarrier is measured during system initialization, and the maximum bit capacity of each subcarrier is determined. Once the transmission capability of the system is thus assessed, more bits (e.g., larger constellation sizes) are assigned onto subcarriers with higher SNR compared to subcarriers having lower SNR and the subcarrier relative transmit powers (gains) are set. DSL service is then begun and the subcarriers SNR are measured during data transmission; the bit re-distribution (bit swapping) being performed and subcarrier gains being adjusted according to changes in the subcarrier SNR measurements.
Bit swapping by itself does not change the total data rate of the communication channel, but serves to increase or maintain continuous noise immunity by reallocating data bits from noisy subcarriers to more noise-free subcarriers. Where the channel noise increases significantly, bit swapping alone may not be adequate to prevent data transmission errors, and seamless rate adaptation (SRA) may be employed to decrease the number of data bits transmitted over some subcarriers. If the channel continuous noise thereafter decreases (e.g., SNR increases), SRA can then be used to increase the number of data bits. While these techniques can effectively react to changing continuous noise conditions, impulse noise protection is largely unaffected by bit distribution settings and seamless rate adaptation.
Impulse noise in DSL systems usually causes erasure of an entire modulated signal for a relatively short period of time, regardless of the number of bits allocated to the entire channel or to particular subcarriers. Forward error correction (FEC) is a means to combat impulse noise in DSL and other communication systems. An FEC encoder generates a certain amount of redundancy bytes for each block of transmitted data bytes. The redundancy bytes are then added to the data bytes to form an FEC codeword. At the receive side, the FEC decoder uses redundancy bytes for recovering (correcting) a certain amount of corrupted data bytes, and thereby ensures that when a small number of bytes in a codeword are corrupted, the original data transmitted in the codeword can be recovered. In general, the number of error bytes that can be corrected by FEC is half of the number of redundancy bytes included in the codeword. Thus, increasing FEC redundancy adds further FEC protection against impulse noise while effectively decreasing the data rate, and vice versa, wherein the goals of impulse noise protection and data rate involve a tradeoff.
In addition to redundancy, FEC encoders also provide interleaving (IL) to combat impulse noise. An interleaver (at the transmit side) segments the FEC codewords into smaller portions (segments) after the addition of FEC redundancy bytes, with segments from different codewords being mixed in a certain order prior to bit distribution and modulation. The order of segment mixing is so that segments belonging to the same FEC codeword are placed as far as possible from each other. This results in the bytes of the same codeword being spread out over time, whereby impulse noise corruption of the transmitted stream of data during any given short period of time results in corruption of only one or a few segments belonging to a particular codeword, causing fewer errors in each reassembled (e.g., de-interleaved) codeword at the receive side. Thus, FEC redundancy allows correction of a certain amount of corrupted data in each codeword, and interleaving helps to reduce the amount of corrupted bytes in the individual codewords, whereby DSL systems may effectively combat a given amount of impulse noise in the communication channel. However, interleaving requires buffer memory at the transmitter and receiver modems and introduces latency in the transferred data. Also, as discussed above, increasing FEC capabilities requires more redundancy bytes to be introduced, and reduces the data rate. Thus, there is a tradeoff between impulse noise protection and data rate in DSL systems.
The parameters for impulse noise protection mechanisms, such as FEC and IL in DSL systems, have conventionally been set up at system installation. However, the current field experience shows that impulse noise characteristics for any specific installation are almost unpredictable and changing in time. Therefore, it is usually unclear how the impulse noise protection has to be set. In one example, the impulse noise parameters (e.g., the number of FEC redundancy bytes and the level or amount of data interleaving) are maximized, and left unadjusted as DSL service is provided, resulting in reduced DSL data rate. Recent proposals suggest iterative adjustment of FEC/IL parameters during initialization, by repeating the initialization procedure several times with different settings. This is also not comprehensive, since it increases initialization time, which makes the system inconvenient for the user. Moreover, this proposal fails to provide good settings because the time over which the multiple parameter adjustments are done is relatively short considering that impulse noise conditions may change over a period of hours or days. Thus, the multiple initialization time is still very short to observe changes in the impulse noise conditions. As a result, we see that impulse noise conditions may change over time, wherein excessive FEC/IL protection settings unnecessarily sacrifice data rate if the impulse noise is reduced, while limited FEC/IL protection risks unwanted data loss when the impulse noise situation worsens. Accordingly, there is a need for improved impulse noise protection methods and apparatus to combat changing impulse noise in transmission channels of DSL and other communication systems, while allowing maximum data rates.